#include "tinyxml/tinyxml.h"

#include <stdio.h>
#include <string>
#include <map>

class CScanner
{
public:
	static bool scan( const char* in, const char* base, const char* public_key );

private:
	CScanner();

	static std::map< std::string, std::string > sign_base;

	static bool readBase(const char* base);
	static bool scanFile(const char* in);
	static bool scanFile(const char* in, FILE* file);
	static const unsigned char *find(const unsigned char* haystack, size_t hlen, const unsigned char* needle, size_t nlen);
	static bool scanDirectory(const char* in);
	static bool has(FILE* file, const std::string& signature);
};
